16.09.2009
В настоящее время в торговле получают все большее распространение системы оплаты с помощью платежных карт. Для этого помимо модулей торговых конфигураций системы "1С:Предприятие 8" на кассах торгово-сбытовых предприятий дополнительно устанавливаются программно-технические комплексы работы с пластиковыми картами российских и международных платежных систем. При этом ввод информации по операциям с пластиковыми картами в информационную базу системы "1С:Предприятие 8" осуществляется вручную. Помимо дополнительной траты времени и неудобства в работе кассира это может привести к потере информации или ее искажению. Поэтому становится актуальной интеграция эквайринговых продуктов с торговыми конфигурациями системы "1С:Предприятие 8".
Для организации взаимодействия в системе "1С:Предприятие 8" поставляется специальная обработка обслуживания, а программное обеспечение системы эквайринга должно содержать специальную внешнюю компоненту.
Примерная схема организации приема платежей по платежным картам.
Внешняя компонента эквайринговых систем ("ВКЭС") должна соответствовать общей концепции разработки и применения внешних компонент для взаимодействия с торговым оборудованием ("Устройством"). Использование такого подхода позволяет упростить процесс подключения любых новых программно-технических комплексов к системе "1С:Предприятие 8".
Общая схема взаимодействия системы "1С:Предприятие 8" с торговым оборудованием.
"ВКЭС" должна удовлетворять следующим требованиям:
При необходимости оплатить покупку платежной картой "Система" вызывает функцию "Оплатить платежной картой" у "ВКЭС", передавая ей во входном параметре сумму к оплате для списания с карты и номер считанной карты (номер карты не должен присутствовать в полном, явном виде согласно п. п. 3.2-3.4 стандарта PCI DSS 1.1). "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.
Если происходит отмена платежа, то "Система" вызывает функцию "Отменить платеж по платежной карте" у "ВКЭС", передавая ей во входных параметрах сумму, которая была указана для списания с карты, номер считанной карты и код RRN операции, по которой совершается отмена оплаты картой. "ВКЭС" в ответ возвращает результат выполнения функции.
При возврате платежа "Система" вызывает функцию "Вернуть платеж по платежной карте" у "ВКЭС", передавая ей во входном параметре сумму к возврату на карту и номер считанной карты. "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.
Соединение с "ВКЭС" закрывается при завершении работы системы "1С:Предприятие 8".
Если для работы компоненты необходима настройка каких-либо параметров, то их необходимо реализовать в виде свойств компоненты. Свойства определяются разработчиками компоненты на этапе проектирования. Заполняется таблица, приведенная ниже.
Название (alias) | Тип | Доступность | Описание | |
Чтение |
Запись | |||
Название (alias) | Параметры | Возвращаемое значение | Описание | ||
Имя | Тип | Описание | |||
ПолучитьНомерВерсии (GetVersion) | BSTR | Возвращает номер версии драйвера (например, "1.01" или "1.0.0.1") | |||
ОплатитьПлатежнойКартой (PayByPaymentCard) | НомерКарты | (CardNumber)BSTR [IN/ OUT] | Номер банковской карты (1234 5678 9012 3456) | BOOL | Функция оплаты платежной карты. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты |
Сумма (Amount) | LONG [IN] | Сумма к оплате по карте | |||
КодRRN (RRNCode) | BSTR[OUT] | Возвращается RRN транзакции | |||
КодАвторизации (AuthorizationCode) |
BSTR [OUT] | Возвращается код авторизации транзакции | |||
ОтменитьПлатежаПоПлатежнойКарте (CancelPaymentByPaymentCard) | НомерКарты (CardNumber) | BSTR [IN/ OUT] | Номер банковской карты | BOOL | Функция отмены платежа по карте. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты |
Сумма (Amount) |
LONG [IN] | Сумма к оплате по карте | |||
КодRRN (RRNCode) |
BSTR
[IN] |
Код транзакции оплаты, по которой происходит отмена | |||
ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard) | НомерКарты (CardNumber) | BSTR
[IN/ OUT] |
Номер банковской карты | BOOL | Функция возврата платежа. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты |
Сумма(Amount) | LONG [IN] | Сумма к оплате по карте | |||
КодRRN (RRNCode) | BSTR [OUT] | Возвращается RRN транзакции | |||
КодАвторизации(AuthorizationCode) | BSTR [OUT] | Возвращается код авторизации транзакции | |||
ИтогиДняПоКартам (Settlement) | BOOL | Функция подведения итогов дня по операциям с банковскими картами | |||
ПолучитьОшибку (GetLastError) – ОК |
ОписаниеОшибки (ErrorDescription) | BSTR [OUT] | Описание ошибки | LONG | Возвращает код и описание последней произошедшей ошибки |
При разработке системы необходимо подготовить макеты слип-чеков в соответствии с внутренними требованиями банка. В этом разделе необходимо разместить макеты чеков под разную ширину чековой ленты. Значения, которые должны подставляться в чек, должны быть реализованы в виде свойств компоненты (таблица Описание свойств). Метки значений для подстановки могут быть указаны в квадратных скобках - [], например (чек оплаты, ширина 36 сим.):
123456789012345678901234567890123456 |
Фирма "1С" |
Отдел 73 |
[Дата ] [ Время] |
Банк |
БЕЗНАЛИЧНЫЙ РАСЧЕТ |
[НомерКарты ] [ СрокДействия] |
ОПЛАТА ТОВАРА |
СУММА: [ Сумма] |
НОМЕР ТЕРМИНАЛА: [ Терминал] |
НОМЕР КВИТАНЦИИ: [ Квитанция] |
КОД АВТОРИЗАЦИИ: [ КодАвторизации] |
НОМЕР ССЫЛКИ: [ НомерСсылки] |
НОМЕР ССЫЛКИ: [ НомерСсылки] |
[ РезультатТранзакции ] |
____________________________________ |
(ПОДПИСЬ КЛИЕНТА) |
123456789012345678901234567890123456 |
Для расчета ширины макета используется максимально возможное значение в строке.